HDEBUG.DOC Documentation for HDEBUG.PAS (C) Copyright 1991, Brian D. Webb & P-Machinery Release 1.0, October 20, 1991 These routines are just a stripped down version of a heap debugging package that I'm working on. HEAP.TPU contains routines to intercept EVERY call to TP6's heap routines New(),Dispose(),GetMem(), and FreeMem(), including the new extended syntax for New() and Dispose(). Since the heart of these routines is the heap interceptor, I thought I'd send it out for a little beta testing while I iron out the bugs in the rest of the package. These routines work for the IDE, Turbo Debugger, and standalone EXE files. To intercept the heap routines, the variables HEAP.Allocation_Handler and HEAP.Deallocation_Handler need to contain the addresses of far routines of type Handler, which is: type Handler = Procedure(Size : Word; BlockAddr,CallAddr : Pointer); The interceptor will pass along the size of the memory block, its address, and the address of the calling routine to the handler for error checking. The unit HDEBUG10.PAS contains a generic handler which can flag the user whenever a potential fatal heap error has occured without exiting the debugging session. The unit MAPINFO.PAS allows HDEBUG10.PAS to determine the unit and line number of the error. To use: Include the units (Heap,HDebug10,MapInfo) in your uses clause. In your main program, be sure to set MapFileName to the path name of the map file. Also, be sure to compile to disk and generate a detailed map file. To activate the heap interceptor, call the procedure HeapOn. To deactivate, call HeapOff. Please forward comments and criticisms to: Brian D. Webb 76436,1131 If you need help really bad, give me a call at 713-427-0071 ----------------end-of-author's-documentation--------------- Software Library Information: This disk copy provided as a service of Public (software) Library We are not the authors of this program, nor are we associated with the author in any way other than as a distributor of the program in accordance with the author's terms of distribution. Please direct shareware payments and specific questions about this program to the author of the program, whose name appears elsewhere in this documentation. If you have trouble getting in touch with the author, we will do whatever we can to help you with your questions. All programs have been tested and do run. To report problems, please use the form that is in the file PROBLEM.DOC on many of our disks or in other written for- mat with screen printouts, if possible. PsL cannot debug pro- programs over the telephone, though we can answer questions. Disks in the PsL are updated monthly, so if you did not get this disk directly from the PsL, you should be aware that the files in this set may no longer be the current versions. Also, if you got this disk from another vendor and are having prob- lems, be aware that some files may have become corrupted or lost by that vendor. Get a current, working disk from PsL. For a copy of the latest monthly software library newsletter and a list of the 3,000+ disks in the library, call or write Public (software) Library P.O.Box 35705 - F Houston, TX 77235-5705 1-800-2424-PSL MC/Visa/AmEx/Discover Outside of U.S. or in Texas or for general information, Call 1-713-524-6394 PsL also has an outstanding catalog for the Macintosh.